package com.imagecollector.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.imagecollector.domain.dto.TaskAbandonRecordDTO;
import com.imagecollector.domain.dto.TaskReceiverRecordDTO;
import com.imagecollector.domain.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.imagecollector.domain.dto.PictureDTO;
import com.imagecollector.domain.vo.ScenicAndExibitorNames;
import com.imagecollector.domain.vo.TaskVo;

import java.util.List;

/**
 * <p>
 * 任务表 服务类
 * </p>
 *
 * @author wrf
 * @since 2024-07-31
 */
public interface IAppletTaskService extends IService<Task> {

    void receive(TaskReceiverRecordDTO taskReceiverRecordDTO);

    void submit(PictureDTO pictureDTO, Integer receiverRecordId) throws JsonProcessingException;

    void giveup(TaskAbandonRecordDTO taskAbandonRecordDTO);

    IPage<TaskVo> selectPage(Integer pageNum, Integer pageSize, Integer districtId);

    IPage<TaskVo> selectMyTaskPage(Integer pageNum, Integer pageSize, Integer districtId, Integer userId, Integer status);

    TaskVo selectDetail(Integer taskId);

    List<ScenicAndExibitorNames> selectExhibitorNames(String customerServiceRemarkScenic, String customerServiceRemarkExhibits);
}
